package Day024_枚举_正则表达式.demo4_正则表达式;

/**
 * @Author：pengzhilin
 * @Date: 2020/5/18 14:45
 */
public class Test5 {
    public static void main(String[] args) {
        /*
            正则表达式-分组括号( )
         */
        String str = "DG8FV-B9TKY-FRT9J-99899-XPQ4G";
        // 分成5组: 前面4组的规则是一样的 后面一组单独规则
        System.out.println(str.matches("([A-Z0-9]{5}-){4}[A-Z0-9]{5}"));
        // xxyy
        // \\1表示第一组 {1}表示第一组再出现一次   \\2表示第二组  {1}表示第二组再出现一次
        System.out.println("呵呵哈哈".matches("(.)\\1{1}(.)\\2{1}"));// true
        System.out.println("呵呵呵哈哈哈".matches("(.)\\1{1}(.)\\2{1}"));// false
        System.out.println("呵呵呵哈哈哈".matches("(.)\\1{2}(.)\\2{2}"));// true

        /*
        正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同。
        注意：\1必须与小括号配合使用

        一个字符串由三个0到9的数字字符组成，第一个和第三个一样，匹配规则正确的是：（C）

        A：”\\d\\d\\d”

        B：”\\d{3}”

        C：”(\\d)\\d\\1”

        D：”[\\d\\d\\d]”

         */

    }
}
